//file system 文件相关的操作都使用fs模块
//分为sync和async两个系列

//同步方法的好处:速度快 可以立即拿到返回结果
//劣势：阻塞主线程

const fs = require('fs'); //←require是同步的
const path = require('path');
//异步好处:不会阻塞主线程
//劣势：回调地狱，但现在可以使用async+await

const resolve = (filename) => {
  return path.resolve(__dirname, filename);
};

fs.readFile(resolve('a.txt'),/* 'utf8', */(err, data) => { //不写utf8 读取出来的是buffer
  //一个文件中可以包含多个编码格式(但一般一个文件存一种格式)，存储的都是二进制
  fs.writeFile(resolve('c.txt'), data, (err)=>{
    console.log('拷贝成功')
  });
});

//↕等价
// fs.copyFile()

//↑ 这种读取文件的方式不适合大文件，文件过大，可能会可用内存不够
// 一般小于64k才这样使用

